/* FileObject.java
 * Author: liuex
 * 2007-12-15 ����03:53:17
 *
 * Note: 
 */
package org.lex.io.filesystem;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;

public interface FileObject {
	public String getName();

	public long lastModified();

	public long length();

	public FileObject getParent();

	public URI toURI();

	// =========================
	public boolean canRead();

	public boolean canWrite();

	public InputStream openInputStream() throws IOException;

	public OutputStream openOutputStream() throws IOException;

	// ==========================
	public boolean exist();

	public boolean delete() throws IOException;

	public boolean rename(FileObject dest) throws IOException;
}
